package com.str.set;
public interface Set{

    // An object of class Set represents a set, i.e., a collection
    // of distinct members whose order is insignificant.
    // Each set member must belong to a class set implements the
    // Comparable interface.

// Modifiers.
    public void clear();
    // Make this set empty.

    public void add(Object val);
    // Inserts val into this set.

    public Object remove(Object val);
    // Remove val from this set.

    public void union(Set that);
    // Make this set the union of itself and that.

    public void intersection(Set that);
    // Make this set the intersection itself and that.
    
    public void difference(Set that);
    // Make this set the difference of itself and that.

// Accessors ...
    public boolean isEmpty();
    // Return true if and only if this set is empty.

    public int size();
    // Return the cardinality of this set.

    public boolean contains(Object val);
    // Return true if and only if val is a member of this set.

    public boolean equals(Set that);
    // Return true if and only if this set is equal to that.

    public boolean isSubset(Set that);
    // Return true if and only if this set is a subset of that.
}
